package cn.SpringDemo.Impl;

import cn.SpringDemo.Paper;

public class TextPager implements Paper {
    private int charPerLine=16;
    private int linePerPage=5;
    private String content="";
    private int posX=0;
    private int posY=0;
    private int posP=1;
    @Override
    public void putInChar(char c) {
        content +=c;
        ++posX;
        //判断是否换行
        if (posX==charPerLine){
            content+=Paper.newline;
            posX=0;
            ++posY;
        }
        //判断是否翻页
        if (posY==linePerPage){
            content+="== 第"+posP+"页 ==";
            content +=Paper.newline+Paper.newline;
            posY=0;
            ++posP;
        }
    }
    //使用set方法注每行字符书


    public void setCharPerLine(int charPerLine) {
        this.charPerLine = charPerLine;
    }

    public void setLinePerPage(int linePerPage) {
        this.linePerPage = linePerPage;
    }

    @Override
    public String getContent() {
        String ret=this.content;
        //
        if (!(posX==0&&posY==0)){
            int count=linePerPage-posY;
            for (int i = 0; i < count; i++) {
                ret+=Paper.newline;
            }
            ret +="== 第"+posP+"页 ==";
        }
        return ret;
    }
}
